<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>oauth2client.tools.ClientRedirectHandler</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
        <a href="oauth2client.tools-module.html">Module&nbsp;tools</a> ::
        Class&nbsp;ClientRedirectHandler
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="oauth2client.tools.ClientRedirectHandler-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class ClientRedirectHandler</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.tools-pysrc.html#ClientRedirectHandler">source&nbsp;code</a></span></p>
<center>
<center>  <map id="uml_class_diagram_for_oauth2cl_51" name="uml_class_diagram_for_oauth2cl_51">
<area shape="rect" id="node226" href="oauth2client.tools.ClientRedirectHandler-class.html#do_GET" title="Handle a GET request." alt="" coords="53,764,249,783"/>
<area shape="rect" id="node226" href="oauth2client.tools.ClientRedirectHandler-class.html#log_message" title="Do not log messages to stdout while running as command line program." alt="" coords="53,783,249,801"/>
<area shape="rect" id="node1" href="oauth2client.tools.ClientRedirectHandler-class.html" title="A handler for OAuth 2.0 redirects back to localhost." alt="" coords="41,731,260,807"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.sys_version" alt="" coords="17,273,285,292"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.server_version" alt="" coords="17,292,285,311"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.default_request_version" alt="" coords="17,311,285,329"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.error_message_format" alt="" coords="17,329,285,348"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.error_content_type" alt="" coords="17,348,285,367"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.weekdayname" alt="" coords="17,367,285,385"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.monthname" alt="" coords="17,385,285,404"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.protocol_version" alt="" coords="17,404,285,423"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.MessageClass" alt="" coords="17,423,285,441"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="BaseHTTPServer.BaseHTTPRequestHandler.responses" alt="" coords="17,441,285,460"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="Parse a request (internal)." alt="" coords="17,463,285,481"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="Handle a single HTTP request." alt="" coords="17,481,285,500"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="Handle multiple requests if necessary." alt="" coords="17,500,285,519"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="Send and log an error reply." alt="" coords="17,519,285,537"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="Send the response header and log the response code." alt="" coords="17,537,285,556"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="Send a MIME header." alt="" coords="17,556,285,575"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="Send the blank line ending the MIME headers." alt="" coords="17,575,285,593"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="Log an accepted request." alt="" coords="17,593,285,612"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="Log an error." alt="" coords="17,612,285,631"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="Return the server software version string." alt="" coords="17,631,285,649"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="Return the current date and time formatted for a message header." alt="" coords="17,649,285,668"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="Return the current time formatted for logging." alt="" coords="17,668,285,687"/>
<area shape="rect" id="node227" href="javascript:void(0);" title="Return the client address formatted for logging." alt="" coords="17,687,285,705"/>
<area shape="rect" id="node2" href="javascript:void(0);" title="HTTP request handler base class." alt="" coords="5,249,296,711"/>
<area shape="rect" id="node229" href="javascript:void(0);" title="SocketServer.BaseRequestHandler.__init__" alt="" coords="17,39,285,57"/>
<area shape="rect" id="node3" href="javascript:void(0);" title="Base class for request handler classes." alt="" coords="5,6,296,63"/>
<area shape="rect" id="node228" href="javascript:void(0);" title="SocketServer.StreamRequestHandler.rbufsize" alt="" coords="41,108,263,127"/>
<area shape="rect" id="node228" href="javascript:void(0);" title="SocketServer.StreamRequestHandler.wbufsize" alt="" coords="41,127,263,145"/>
<area shape="rect" id="node228" href="javascript:void(0);" title="SocketServer.StreamRequestHandler.timeout" alt="" coords="41,145,263,164"/>
<area shape="rect" id="node228" href="javascript:void(0);" title="SocketServer.StreamRequestHandler.disable_nagle_algorithm" alt="" coords="41,164,263,183"/>
<area shape="rect" id="node228" href="javascript:void(0);" title="SocketServer.StreamRequestHandler.setup" alt="" coords="41,185,263,204"/>
<area shape="rect" id="node228" href="javascript:void(0);" title="SocketServer.StreamRequestHandler.finish" alt="" coords="41,204,263,223"/>
<area shape="rect" id="node4" href="javascript:void(0);" title="Define self.rfile and self.wfile for stream sockets." alt="" coords="29,83,275,229"/>
</map>
  <img src="uml_class_diagram_for_oauth2cl_51.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_51" ismap="ismap" class="graph-without-title" />
</center>
</center>
<hr />
<pre class="literalblock">
A handler for OAuth 2.0 redirects back to localhost.

Waits for a single request and parses the query parameters
into the servers query_params and then stops serving.

</pre>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="oauth2client.tools.ClientRedirectHandler-class.html#do_GET" class="summary-sig-name">do_GET</a>(<span class="summary-sig-arg">s</span>)</span><br />
      Handle a GET request.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="oauth2client.tools-pysrc.html#ClientRedirectHandler.do_GET">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="oauth2client.tools.ClientRedirectHandler-class.html#log_message" class="summary-sig-name">log_message</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">format</span>,
        <span class="summary-sig-arg">*args</span>)</span><br />
      Do not log messages to stdout while running as command line program.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="oauth2client.tools-pysrc.html#ClientRedirectHandler.log_message">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>BaseHTTPServer.BaseHTTPRequestHandler</code></b>:
      <code>address_string</code>,
      <code>date_time_string</code>,
      <code>end_headers</code>,
      <code>handle</code>,
      <code>handle_one_request</code>,
      <code>log_date_time_string</code>,
      <code>log_error</code>,
      <code>log_request</code>,
      <code>parse_request</code>,
      <code>send_error</code>,
      <code>send_header</code>,
      <code>send_response</code>,
      <code>version_string</code>
      </p>
    <p class="indent-wrapped-lines"><b>Inherited from <code>SocketServer.StreamRequestHandler</code></b>:
      <code>finish</code>,
      <code>setup</code>
      </p>
    <p class="indent-wrapped-lines"><b>Inherited from <code>SocketServer.BaseRequestHandler</code></b>:
      <code>__init__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Class Variables</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-ClassVariables"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>BaseHTTPServer.BaseHTTPRequestHandler</code></b>:
      <code>MessageClass</code>,
      <code>default_request_version</code>,
      <code>error_content_type</code>,
      <code>error_message_format</code>,
      <code>monthname</code>,
      <code>protocol_version</code>,
      <code>responses</code>,
      <code>server_version</code>,
      <code>sys_version</code>,
      <code>weekdayname</code>
      </p>
    <p class="indent-wrapped-lines"><b>Inherited from <code>SocketServer.StreamRequestHandler</code></b>:
      <code>disable_nagle_algorithm</code>,
      <code>rbufsize</code>,
      <code>timeout</code>,
      <code>wbufsize</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="do_GET"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">do_GET</span>(<span class="sig-arg">s</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="oauth2client.tools-pysrc.html#ClientRedirectHandler.do_GET">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Handle a GET request.

Parses the query parameters and prints a message
if the flow has completed. Note that we can't detect
if an error occurred.

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="log_message"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">log_message</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">format</span>,
        <span class="sig-arg">*args</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="oauth2client.tools-pysrc.html#ClientRedirectHandler.log_message">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Do not log messages to stdout while running as command line program.

</pre>
  <dl class="fields">
    <dt>Overrides:
        BaseHTTPServer.BaseHTTPRequestHandler.log_message
    </dt>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Tue Aug  6 12:16:46 2013
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
